The design of radio-frequency power amplifiers for communications applications often involves a trade-off between linearity and efficiency. Power amplifiers are typically most efficient when operated at or near the saturation point. However, the response of the amplifier at or near the point of saturation is non-linear. Generally speaking, when operating in the high-efficiency range, a power amplifier's response exhibits a nonlinear response and memory effects.
One way to improve a power amplifier's efficiency and its overall linearity is to digitally pre-distort the input to the power amplifier to compensate for the distortion introduced by the power amplifier. In effect, the input signal is adjusted in anticipation of the distortion to be introduced by the power amplifier, so that the output signal is largely free of distortion products. Generally, digital pre-distortion is applied to the signal at baseband frequencies, i.e., before the signal is up-converted to radio frequencies.
These techniques can be quite beneficial in improving the overall performance of a transmitter system, in terms of both linearity and efficiency. Furthermore, these techniques can be relatively inexpensive, due to the digital implementation of the pre-distorter. In fact, with the availability of these techniques, power amplifiers may be designed in view of more relaxed linearity requirements than would otherwise be permissible, thus potentially reducing the costs of the overall system.
A problem encountered in pre-distortion architectures is the memory effect phenomenon in which a current output of a power amplifier is a result of previous inputs. This memory effect arises due to the physical interactions of the components of the power amplifier as well as temperature variations. The previous inputs that affect a current output of the power amplifier may have been received in past picoseconds, nanoseconds, microseconds, milliseconds, or even seconds. Thus, a wide range of memory effects should be modeled by the pre-distorter.
Conventionally, a pre-distorter is modeled by a memoryless part and a memory part. The memoryless part may include several branches, each branch applying a different basis function or operation to the input signal to be pre-distorted. The memory part has a branch for each branch of the memoryless part. Each branch of the memory part typically has a structure that includes delay elements, taps and weights to produce a distortion component, dk. The outputs of the branches of the memory part are summed to produce the distortion signal, d. Each of the branches of the memory part have the same structure. This leads to inefficiency and wasted computations, since different basis functions have different memory requirements. This also leads to instability.
Therefore, what is needed is a memory structure that has different configurations for each branch to accommodate memory requirements for different basis functions to allow accurate pre-distortion modeling.